package DataStructureAndAlgorithm.CSP.Day01;

//以最高的一列为nums[i]，分别向两边扫描求max即可

import java.util.Scanner;
public class AcWing_3194 {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] nums = new int[n];
        int temp = 0;
        int res = -1;
        for (int i = 0; i < n; i++){
            nums[i] = in.nextInt();
        }
        for (int i = 0; i < n; i++){
            res = Math.max(res,temp);
            temp = nums[i];
            int pre = i - 1;
            int later = i + 1;
            while (pre >= 0){
                if (nums[pre] >= nums[i]){
                    temp = temp + nums[i];
                    pre--;
                }else {
                    break;
                }
            }
            while (later < n){
                if (nums[later] >= nums[i]){
                    temp = temp + nums[i];
                    later++;
                }else{
                    break;
                }
            }
        }
        System.out.print(res);
    }
}

/*
在横轴上放了 n 个相邻的矩形，每个矩形的宽度是 1，而第 i（1≤i≤n）个矩形的高度是 hi

。

这 n

个矩形构成了一个直方图。

例如，下图中六个矩形的高度就分别是 3,1,6,5,2,3

。

p31.png

请找出能放在给定直方图里面积最大的矩形，它的边要与坐标轴平行。

对于上面给出的例子，最大矩形如下图所示的阴影部分，面积是 10

。

p32.png
输入格式

第一行包含一个整数 n

，即矩形的数量。

第二行包含 n
个整数 h1,h2,…,hn，相邻的数之间由空格分隔。hi 是第 i

个矩形的高度。
输出格式

输出一行，包含一个整数，即给定直方图内的最大矩形的面积。
数据范围

1≤n≤1000
,
1≤hi≤10000

输入样例：

6
3 1 6 5 2 3

输出样例：

10

 */
